package com.tedu.api.thread;

/**
 * JDK1.8 新语法  支持Lambda写法，广泛应用项目中
 * Lambda表达式--->简化：集合【遍历集合、过滤文件方法】、
 *       “接口创建、抽象类创建、匿名内部类创建”、Comparator比较器
 *                创建【函数式遍历】
 * lambda功能性接口--实现：有一个方法的接口，并且打印数据
 * lambda表达式语法：()->{}
 *
 * 1.创建接口Insert---使用子类方式实现接口
 * 2.创建接口Insert---使用匿名内部类方式 实现接口
 * 3.创建Lambda表达式--接口创建
 */
public class LambdaDemo {
    public static void main(String[] args) {
   /*Insert insert=new Insert(){
            public long Dian(long money,int day) {
             return 1L;
            }
        };
       insert.Dian(10,1);*/
        //Lambda表达式写法  ()->{}
        /**
         * 第一种Lambda表达式支持：接口使用匿名内部类创建方式
         * ()代表方法的参数：无参数情况-----() 不可以删除
         *                 有参数情况----1个参数---() 可以删除
         *                          ----2个参数以上----() 不可以 删除
         *                          (形参1,形参2)
         *
         *  ->代表new创建对象的过程
         *  {}代表方法中的实现：有两种情况①返回值  void  可以直接输出语句----去掉{}
         *                           ②返回值  集合  不可以去掉{}            【一会儿测】
         *                           ③返回值  Java数据类型      不可以去掉{}
         *
         *
         */
       Insert insert=(money,day)->{return 1L;};
        long dian=insert.Dian(10,1);
        System.out.println("用来多少"+dian+"°");
    }
}
//创建接口  Insert
interface Insert{
    public long Dian(long money,int day);
}
//创建子类  实现 Insert
/*class Computer implements Insert{
    public long Dian(long money) {
        return 100;
    }
}*/
